<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <link rel="stylesheet" href="css/reset.css" />
    <link rel="stylesheet" href="css/main.css" />
    <title>聊天机器人</title>
  </head>

  <body>
    <div class="wrap">
      <!-- 头部 Header 区域 -->
      <div class="header">
        <h3>小思同学</h3>
        <img src="img/person01.png" alt="icon" />
      </div>
      <!-- 中间 聊天内容区域 -->
      <div class="main">
        <ul class="talk_list" style="top: 0px" id="talk_list">
          <!-- 机器人 -->
          <li class="left_word">
            <img src="img/person01.png" /> <span>嗨，最近想我没有？</span>
          </li>
          <!-- 我 -->
          <!-- <li class="right_word">
          <img src="img/person02.png" /> <span>嗨，最近想我没有？</span>
        </li> -->
        </ul>
      </div>
      <!-- 底部 消息编辑区域 -->
      <div class="footer">
        <img src="img/person02.png" alt="icon" />
        <input
          type="text"
          placeholder="说的什么吧..."
          class="input_txt"
          id="ipt"
        />
        <input type="button" value="发 送" class="input_sub" id="btnSend" />
      </div>
    </div>
    <script type="text/javascript" src="js/jquery-1.12.4.min.js"></script>
    <script src="js/axios.min.js"></script>
    <audio src="" id="voice" autoplay style="display: none"></audio>
    <script>
      // 1.给按钮注册点击事件
      // 2.获取输入框的值
      // 3.生成自己的输入内容
      // 4.发送ajax请求-获取回复的内容
      // 5.生成回复的内容
      // 6.发送ajax请求-获取回复的音频
      // 7.播放音频
      $("#btnSend").on("click", async function () {
        console.log("123");
        const val = $("#ipt").val().trim();
        $("#ipt").val("");
        if (!val) {
          return alert("输入内容为空");
        }
        $(`<li class="right_word">
          <img src="img/person02.png" /> <span>${val}</span>
        </li>`)
          .appendTo("#talk_list")[0]
          .scrollIntoView();

        const res = await axios({
          method: "get",
          url: "http://www.liulongbin.top:3006/api/robot",
          params: {
            spoken: val,
          },
        });
        // console.log(res);
        const text = res.data.data.info.text;

        $(`<li class="left_word">
            <img src="img/person01.png" /> <span>${text}</span>
          </li>`)
          .appendTo("#talk_list")[0]
          .scrollIntoView();

        const res2 = await axios({
          method: "get",
          url: "http://www.liulongbin.top:3006/api/synthesize",
          params: {
            text,
          },
        });
        // console.log(res2);
        $("audio").attr("src", res2.data.voiceUrl);
      });
      $("#ipt").on("keyup", function (e) {
        if (e.keyCode === 13) {
          $("#btnSend").click();
        }
      });
    </script>
  </body>
</html>
